package paidaxing.blog.core.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import paidaxing.blog.core.entity.Settings;
import java.util.List;

@Mapper
public interface SettingsMapper {
    /**
     * 根据ID查询配置
     *
     * @param id 配置ID
     * @return 配置实体
     */
    Settings queryById(Long id);

    /**
     * 根据键名查询配置
     *
     * @param settingKey 配置键名
     * @return 配置实体
     */
    Settings queryBySettingKey(String settingKey);

    /**
     * 查询所有配置
     *
     * @return 配置列表
     */
    List<Settings> queryAll();

    /**
     * 插入配置
     *
     * @param settings 配置实体
     * @return 影响行数
     */
    int insert(Settings settings);

    /**
     * 更新配置
     *
     * @param settings 配置实体
     * @return 影响行数
     */
    int update(Settings settings);

    /**
     * 根据ID删除配置
     *
     * @param id 配置ID
     * @return 影响行数
     */
    int deleteById(Long id);
}